/**
 * 
 */
package com.shine.icis.dao;

import java.util.List;

import com.shine.cotrun.sql.QueryParameters;
import com.shine.cotrun.web.comm.ListPage;
import com.shine.icis.dao.IBaseHibernateDAO;
import com.shine.icis.dto.DataCheck;
import com.shine.icis.hbean.DataCheckDef;
import com.shine.icis.hbean.DataCheckR08;
import com.shine.icis.hbean.DataCheckR09;
import com.shine.icis.hbean.DataCheckR10;
import com.shine.icis.hbean.DataCheckR11;
import com.shine.icis.hbean.DataCheckR12;
import com.shine.icis.hbean.DataCheckR13;
import com.shine.icis.hbean.R12ChkItem;
import com.shine.icis.hbean.R13ChkFactAmt;
import com.shine.icis.hbean.SettleAmtDetail;

/**
 * @author zsy
 *
 */
public interface IDataCheckDAO extends IBaseHibernateDAO {

	/**
	 * 查找所有启用的核对定义
	 * @return
	 */
	List<DataCheckDef> findDataCheckDefs(char enableFlag);
	
	/**
	 * 通过数据日期查找
	 * @param dataDate
	 * @return
	 */
	public ListPage<DataCheckR08> findDataCheckR08Page(QueryParameters qp);
	
	/**
	 * 资金账户完整性核对
	 * @author zhangxr 2010-11-16
	 * @param qp
	 * */	
	public ListPage<DataCheckR09> findDataCheckR09Page(QueryParameters qp);
	
	/**
	 * 账户一致性核对
	 * @author zhangxr 2010-10-27
	 * @param qp
	 * */	
	public ListPage<DataCheckR10> findDataCheckR10Page(QueryParameters qp);
	
	/**
	 * 客户资金结算勾稽核对
	 * @author zhangxr 2010-10-27
	 * @param qp
	 * */		
	public ListPage<DataCheckR11> findDataCheckR11Page(QueryParameters qp);
	
	/**
	 * A13平衡核对
	 * @author zhangxr 2010-10-27
	 * @param qp
	 * */		
	public ListPage<DataCheckR12> findDataCheckR12Page(QueryParameters qp);
	
	/**
	 * A13平衡核对
	 * @param busiDate
	 * @return
	 */
	public DataCheckR12 findDataCheckR12(int busiDate);
	
	/**
	 * 通过ID查找A13平衡核对结果
	 * @param id
	 * @return
	 */
	public DataCheckR12 findDataCheckR12ById(int relateid);
	
	/**
	 * 查找所有A13平衡核对的项查项
	 * @return
	 */
	public List<R12ChkItem> findChkItems(char enableFlag);
	/**
	 * A13平衡核对
	 * @author zuohp 2012-07-22
	 * @param qp
	 * */		
	public ListPage<DataCheckR13> findDataCheckR13Page(QueryParameters qp);
	/**
	 * A13平衡核对
	 * @param busiDate
	 * @return
	 */
	public DataCheckR13 findDataCheckR13(int busiDate);
	
	/**
	 * 通过ID查找A13平衡核对结果
	 * @param id
	 * @return
	 */
	public DataCheckR13 findDataCheckR13ById(int relateid);
	
	/**
	 * 查询未通过的记录总数
	 * @author zhangxr 2010-10-27
	 * */
	public DataCheck findNotPassed(int sjrq);
	/**
	 * 客户自有两类资金实际划转
	 * @param busiDate
	 * @return
	 */
	public R13ChkFactAmt findChkFactAmt(int busiDate);
	/**
	 * 交收详细
	 * @param busiDate
	 * @return
	 */
	public SettleAmtDetail findSettleAmtDetail(String dateType,int queryDate);
}
